Mobility has become the most recent paradigm dictating design of digital devices including processors with computing capability. A mobile device generally requires two resources to function: power and data. To supply power and data, rather than to keep the mobile device continually connected to fixed power and data grids (e.g., the Internet), mobile devices cope with disconnection from these grids by “caching.” Mobile devices may use rechargeable batteries for caching power, while local storage is used for caching data. Periodically, however, the device caches must be “recharged” by connection with fixed power and data grids. With existing technology, however, the process of recharging the device data cache is much more cumbersome and error-prone than recharging the power cache.
In contrast to recharging the power cache, recharging the data may be relatively inefficient and time consuming. While power will seek underpowered cells by virtue of relations of voltages, recharging a data cache is generally much less directed and often requires complete resynchronizing of all data in the data cache. Alternately, recharging of the data cache may occur upon a user's selection of data with which to recharge the cache.
As with power recharging, the recharging of a data cache requires “plugging in” a device to the network, meaning the initiation of communication with a network server according to the parameters of a network link. While such recharging may occur through connection to the network by means of a link enabled by a physical connection, such as an Ethernet connection, in the following discussion, all recharging connections will be referred to as wireless connections in that wireless connections suffer all of the limitations of physical connections in addition to limitations peculiar to wireless connection technology. For this reason, wireless connection is considered the general type of connection case, and physical connections are the specific case.
Using a wireless connection capability, mobile devices such as web-phones, personal digital assistants, palmtop computers (e.g. Pocket PCs, etc.), and laptop computers must access and recharge their internal data caches. Each of these wireless devices are configured to travel from one place to another place while wireless access points are generally both fixedly located and broadcast with a very limited area of broadcast coverage. As a result of these two factors, the wireless devices travel into and out of connectivity with any single wireless access point. For this reason, resulting changing in duration and quality of a wireless connection dictate that data be synchronized according to opportunities afforded by the connection.
Additionally, synchronization of data often requires the rewriting of large files or sets of files over older copies of the files according to a direction of a synchronization log rather than to select according to the anticipated information needs of the individual. Divergence between which files have changed and which files will be needed can often greatly increase the number of files that will be overwritten and such a synchronization requirement will tend to make the files most necessary to the individual fall in random placement through the queue of files to be overwritten. The rewriting currently tends to be indiscriminate or only coarsely discriminates such that when a change is made in a database, all related flat files are transferred in order to exploit the opportunity for communication afforded by changing connection (connected and disconnected) and bandwidth of the selected mode of communication.
There is an unmet need in the art for an adaptive means of prioritizing the transfer or synchronization of data between a mobile device and a server according to the needs of a user based upon patterns of use recorded in a user profile.